home *** CD-ROM | disk | FTP | other *** search
- // ******************** GLOBALS ****************************
-
- var helpDoc = MM.HELP_inspDate;
-
- // ******************** API ****************************
-
- function canInspectSelection() {
- var lockObj = getSelectedObj();
- if (lockObj.type && lockObj.type == "mmdate")
- return true;
- return false;
- }
-
-
-
- // ******************** API ****************************
-
- //function: editDateFormat
- //description: called from Edit button, brings up original date command
- //dialog so that format can be edited
-
- function editDateFormat(){
- var lockObj = getSelectedObj();
- var origFormat = lockObj.format;
- var dateInfoArr = decipherDateID(origFormat);
-
- var dayFormat = dateInfoArr[0];
- var dateFormat = dateInfoArr[1];
- var timeFormat = dateInfoArr[2];
-
- //pop up date dialog and return the date string and date ID
- var dateDialogArr= showDateDialog(dayFormat,dateFormat,timeFormat)
-
- //if user clicks Cancel from Date dialog, return
- if (!dateDialogArr[0])
- return;
-
- var newDateStr = dateDialogArr[0];
- var newFormat = dateDialogArr[1];
-
- //if nothing has changed, return
- if (origFormat == newFormat)
- return;
-
- dreamweaver.editLockedRegions(lockObj);
-
- //set orig and format attribute of lock object
- var openComment = '%3C%21-- #BeginDate format:' + newFormat + ' --%3E';
- var closeComment = '%3C%21-- #EndDate --%3E';
- lockObj.orig = openComment + newDateStr + closeComment
- lockObj.format = newFormat;
-
- //change text inside of the lock tags to be the new date
- var lockParent = lockObj.parentNode;
- var children = lockParent.childNodes;
- var textNode;
- for (var i=0;i<children.length;i++){
- if (children.item(i) == lockObj)
- textNode = children.item(i+1);
- }
- textNode.data = newDateStr;
-
- //select the date we've just edited
- selArr = dreamweaver.nodeToOffsets(lockObj);
- dreamweaver.setSelection(selArr[0],selArr[1]);
-
- }
-
-
-
- //function: showDateDialog
- //description: displays the date dialog
- //returns an array of two items:
- //1.a date string using the chosen format
- //2.a date ID which shows the type of format, e.g.: "fcAm1"
- //means a full day, followed by a comma, followed by the American 1 format
-
- function showDateDialog(dayFormat,dateFormat,timeFormat){
- var cmdFile = dreamweaver.getConfigurationPath() + "/Commands/Date.htm";
- var cmdDOM = dreamweaver.getDocumentDOM(cmdFile);
- var cmdWin = cmdDOM.parentWindow;
-
- var theForm = cmdDOM.forms[0];
- var dayMenu = theForm.DayFormats;
- var dateMenu = theForm.DateFormats;
- var timeMenu = theForm.TimeFormats;
-
- //popup the date window, but first -- remove the "Update Automatically" option
- //and change title to be "Edit Date Format"
- cmdDOM.getElementsByTagName("mmtag").item(0).innerHTML = "";
- cmdDOM.getElementsByTagName("title").item(0).innerHTML = TITLE_EditDateFormat;
-
- //next, select the correct day format, date format, and time format.
- cmdWin.initializeUI(); //populate the menus
- selectMenuOption(dayMenu,"value",dayFormat);
- selectMenuOption(dateMenu,"value",dateFormat);
- selectMenuOption(timeMenu,"value",timeFormat);
-
- dreamweaver.popupCommand("Date.htm");
-
- return new Array( cmdWin.getDateStr(),
- cmdWin.getDateID() );
- }
-
-
-
- //function: selectMenuOption
- //description: given a select widget object, attribute, and value,
- //selects the option where attribute=value
- //for instance, given selObj,text,"my field", selects the option
- //with text equalling "my field"
-
- function selectMenuOption(selObj,attr,val){
-
- var selInd = -1;
- for (var i=0;i<selObj.options.length;i++){
-
- if ( selObj.options[i][attr] == [val]){
- selInd = i;
- break;
- }
- }
- if (selInd!=-1)
- selObj.selectedIndex = selInd;
-
- }
-
-
-